package com.example.common.enumuation;

import java.util.Objects;
import java.util.stream.Stream;

/**
 * @author pywang
 * @Description
 * @date 2020-04-16 16:36
 **/
public interface EnumType {

    String getLabel();

    String getCode();

    default String getLabelByCode(String code, EnumType[] values){

        return Stream.of(values).filter(t-> Objects.equals(code, t.getCode()))
                .map(EnumType::getLabel)
                .findFirst().orElse(null);
    }

    default String getCodeByLabel(String label, EnumType[] values){
        return Stream.of(values).filter(t-> Objects.equals(label, t.getLabel()))
                .map(EnumType::getCode)
                .findFirst().orElse(null);
    }
}
